Generally described, organizations operate computer networks that interconnect numerous computing systems in support of the organizations' operations. Data centers may house significant numbers of interconnected computing systems, such as private data centers operated by a single organization and public data centers operated by third parties to provide computing resources to customers. Public and private data centers may provide network access, power, hardware resources (e.g., computing and storage), and secure installation facilities for hardware owned by an organization or its customers.
To facilitate increased utilization of data center resources, virtualization technologies allow a single physical computing machine to host one or more instances of virtual machines that appear and operate as independent computer machines to a connected computer user. With virtualization, a single physical computing device can create, maintain or delete virtual machines in a dynamic manner. In turn, users can request computer resources from a data center and be provided with varying numbers of virtual machine resources on an “as needed” or “as requested” basis. In addition to virtual machines, a data center may provide other computing resources, including hardware computing capacity, data storage space, network bandwidth, and the like.
Individual customers may reserve/purchase specified network resources, such as a specific amount of virtual machine instances, storage/memory space, network bandwidth, or other computing resources in support of the customers' operations. Additionally, individual customers can utilize services provided by the data center or third parties that facilitate the execution or management of the resources utilized at the data center. Examples of such services include, but are not limited to, various security services to manage security issues related to receipt and processing of network based communications.